package es.tikitaka.dao;

import java.util.List;

import es.tikitaka.dictionary.PosicionDic;
import es.tikitaka.domain.Sancion;
import es.tikitaka.domain.Temporada;
import es.tikitaka.domain.equipo.Equipo;
import es.tikitaka.domain.liga.Jornada;
import es.tikitaka.domain.playoffs.Ronda;

public interface SancionService {

	/**
	 * Método para obtener todas las sanciones
	 * 
	 * @return
	 */
	List<Sancion> getSanciones();

	/**
	 * Método para obtener todas las sanciones coincidentes con los criterios de
	 * búsqueda
	 * 
	 * @param s
	 * @param temporada
	 * @param nombre
	 * @param apellidos
	 * @param jornada
	 * @param ronda
	 * @param equipo
	 * @param edad
	 * @param posicion
	 * @return
	 */
	List<Sancion> buscar(StringBuffer s, Temporada temporada, String nombre,
			String apellidos, Jornada jornada, Ronda ronda, Equipo equipo,
			Integer edad, PosicionDic posicion);

	/**
	 * 
	 * @param sancion
	 * @return
	 */
	Sancion merge(Sancion sancion);

	/**
	 * Método para eliminar una sanción del sistema
	 * 
	 * @param id
	 *            Id de la sanción
	 * @return estado del proceso (true or false)
	 */
	boolean delete(Integer id);

	/**
	 * Método para almacenar en el sistema una sanción o las modificaciones
	 * sufridas por una sanción ya existente
	 * 
	 * @param sancion
	 *            Sancion a almacenar
	 * @return estado del proceso (true or false)
	 */
	boolean save(Sancion sancion);
}
